/// <summary>
/// These are the low-level API functions that Game Maker will
/// call in order to get information from or perform actions
/// on RoketPack.
/// </summary>

#include "API.h"
#include "GM.h"
#include "Wrap.h"
#include <string>

#pragma unmanaged

ROKETPACKGM_API double __cdecl RP_RoketPackIsAvailable()
{
	return Wrap::RoketPackIsAvailable();
}

ROKETPACKGM_API double __cdecl RP_ApplicationIsInstalled(const char* repository, const char* application)
{
	double ret = Wrap::ApplicationIsInstalled(repository, application);
	return ret;
}

ROKETPACKGM_API double __cdecl RP_ComponentIsInstalled(const char* repository, const char* application, const char* component)
{
	return Wrap::ComponentIsInstalled(repository, application, component);
}

ROKETPACKGM_API double __cdecl RP_ComponentInstall(const char* repository, const char* application, const char* component)
{
	return Wrap::ComponentInstall(repository, application, component);
}

ROKETPACKGM_API double __cdecl RP_ComponentUpdate(const char* repository, const char* application, const char* component)
{
	return Wrap::ComponentUpdate(repository, application, component);
}

ROKETPACKGM_API double __cdecl RP_ComponentUninstall(const char* repository, const char* application, const char* component)
{
	return Wrap::ComponentUninstall(repository, application, component);
}

ROKETPACKGM_API double __cdecl RP_VersionIsLatest(const char* repository, const char* application, const char* component)
{
	return Wrap::VersionIsLatest(repository, application, component);
}

ROKETPACKGM_API double __cdecl RP_MiscellaneousCallUrl(const char* url)
{
	return Wrap::MiscellaneousCallUrl(url);
}